if (wpt_tmp->altitude <= unknown_alt + 1)
wpt_tmp->altitude = unknown_alt;
wpt_tmp->creation_time = le_read32(&gp.tm);
+
+ switch (le_read32(&gp.status)) {
+ case 1: wpt_tmp->fix = fix_none; break;
+ case 2: wpt_tmp->fix = fix_2d; break;
+ case 3: wpt_tmp->fix = fix_3d; break;
+ case 5: wpt_tmp->fix = fix_dgps; break;
+ }
WAYPT_SET(wpt_tmp, course, le_read_double(&gp.heading));
WAYPT_SET(wpt_tmp, speed, le_read_double(&gp.speed));
gpl_point_t gp;
double speed = 3600*METERS_TO_MILES(wpt->speed);
double heading = wpt->course;
+
+ switch(wpt->fix) {
+ case fix_none: status = 1; break;
+ case fix_2d: status = 2; break;
+ case fix_3d: status = 3; break;
+ case fix_dgps: status = 5; break;
+ default: status = 3; // a strategic lie for fix_unknown.
+ }
memset(&gp, 0, sizeof(gp));
le_write32(&gp.status, status);